Skip to content

chore: Update sqlparser to 0.63.0 - #25278

Merged
alamb merged 14 commits into
apache:mainfrom
alamb:update-sqlparser-0.63
Sep 17, 2026
Merged

alamb merged 14 commits into
apache:mainfrom
alamb:update-sqlparser-0.63

Conversation

@alamb

@alamb alamb commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

sqlparser 0.63.0 has been released (changelog), so update DataFusion to use it.

This PR is based on the testing PR #24926

What changes are included in this PR?

  1. Update sqlparser to 0.63.0
  2. Update DataFusion for upstream AST changes

Are these changes tested?

Yes, by existing CI (including sqllogictests).

Are there any user-facing changes?

Updated sqlparser version. Error messages for a few unsupported syntax cases have changed slightly (see updated test in datafusion/sql/tests/cases/params.rs).

All existing tests continue to pass

Pin sqlparser to the head of apache/datafusion-sqlparser-rs
(0821cbdd5cbdc27f9c7205466d357deef632c936) and update DataFusion for
the AST changes, to validate the upcoming 0.63.0 release.

See apache/datafusion-sqlparser-rs#2453
sqlparser now lists the [NOT] JSON alternatives in the expected-token
error message after IS
Pin to the head of the release PR
(apache/datafusion-sqlparser-rs#2481), which
includes the version bump to 0.63.0 plus two AST changes merged since
the previous pin:

- LIKE / ILIKE / SIMILAR TO escape_char is now Option<Box<Expr>>;
  DataFusion still only accepts a single-character string literal
- New MergeAction::DoNothing variant, rejected with a not implemented
  error
Picks up sqlparser_derive 0.6.0 and the source-order function clause
visitor change (apache/datafusion-sqlparser-rs#2477)
# Conflicts:
#	datafusion/sql/src/unparser/expr.rs
@github-actions github-actions Bot added the sql SQL Planner label Sep 13, 2026
@codecov-commenter

codecov-commenter commented Sep 13, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 86.31579% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.32%. Comparing base (22f9a92) to head (a8d5633).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
datafusion/sql/src/statement.rs 85.00% 6 Missing ⚠️
datafusion/sql/src/expr/mod.rs 60.00% 4 Missing ⚠️
datafusion/sql/src/query.rs 72.72% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #25278      +/-   ##
==========================================
- Coverage   82.33%   82.32%   -0.01%     
==========================================
  Files        1137     1137              
  Lines      431887   431933      +46     
  Branches   431887   431933      +46     
==========================================
+ Hits       355579   355605      +26     
- Misses      54814    54831      +17     
- Partials    21494    21497       +3     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions github-actions Bot added the sqllogictest SQL Logic Tests (.slt) label Sep 13, 2026
alamb and others added 2 commits September 15, 2026 12:18
Resolve conflict in datafusion/sql/src/query.rs: keep main's rewritten
ORDER BY ALL handling and clone `OrderByOptions`, which is no longer
`Copy` in sqlparser 0.63.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@alamb
alamb marked this pull request as ready for review September 15, 2026 20:36
@alamb alamb added the dependencies Pull requests that update a dependency file label Sep 15, 2026
@alamb

alamb commented Sep 15, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark sql_planner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5687855355-2380-gzjtx 6.12.94+ #1 SMP Tue Aug 4 08:44:15 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing update-sqlparser-0.63 (50f7984) to a0631ed (merge-base) diff

Run configuration
run benchmark sql_planner

Results will be posted here when complete


File an issue against this benchmark runner

statement error This feature is not implemented: Calling array_agg: LIMIT not supported in function arguments: 1
SELECT array_agg(c13 LIMIT 1) FROM aggregate_test_100

statement error This feature is not implemented: Calling array_agg: WHERE not supported in function arguments: c2 > 1

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

Comparing update-sqlparser-0.63 (50f7984) to a0631ed (merge-base) diff

Run configuration
run benchmark sql_planner
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

group                                                 HEAD                                   update-sqlparser-0.63
-----                                                 ----                                   ---------------------
logical_aggregate_with_join                           1.03    414.9±2.30µs        ? ?/sec    1.00    403.0±4.03µs        ? ?/sec
logical_correlated_subquery_exists                    1.01    244.9±2.13µs        ? ?/sec    1.00    241.4±1.00µs        ? ?/sec
logical_correlated_subquery_in                        1.01    246.0±0.89µs        ? ?/sec    1.00    242.7±0.65µs        ? ?/sec
logical_distinct_many_columns                         1.01    333.0±0.86µs        ? ?/sec    1.00    328.1±0.60µs        ? ?/sec
logical_join_4_with_agg_and_filter                    1.11    218.2±1.70µs        ? ?/sec    1.00    195.8±1.01µs        ? ?/sec
logical_join_8_with_agg_sort_limit                    1.06    382.8±1.55µs        ? ?/sec    1.00    362.1±1.48µs        ? ?/sec
logical_join_chain_16                                 1.04    642.1±3.73µs        ? ?/sec    1.00    616.1±3.58µs        ? ?/sec
logical_join_chain_4                                  1.07     82.1±0.35µs        ? ?/sec    1.00     76.5±0.27µs        ? ?/sec
logical_join_chain_8                                  1.05    209.7±0.97µs        ? ?/sec    1.00    199.8±0.79µs        ? ?/sec
logical_multiple_subqueries                           1.01    478.0±1.69µs        ? ?/sec    1.00    472.7±2.00µs        ? ?/sec
logical_nested_cte_4_levels                           1.02    219.0±0.65µs        ? ?/sec    1.00    214.3±1.26µs        ? ?/sec
logical_plan_struct_join_agg_sort                     1.09    140.5±0.60µs        ? ?/sec    1.00    128.9±0.76µs        ? ?/sec
logical_plan_tpcds_all                                1.02     85.0±0.15ms        ? ?/sec    1.00     83.6±0.23ms        ? ?/sec
logical_plan_tpch_all                                 1.03      5.6±0.01ms        ? ?/sec    1.00      5.5±0.02ms        ? ?/sec
logical_scalar_subquery                               1.02    264.1±1.13µs        ? ?/sec    1.00    259.9±1.08µs        ? ?/sec
logical_select_all_from_1000                          1.04      9.5±0.05ms        ? ?/sec    1.00      9.1±0.05ms        ? ?/sec
logical_select_one_from_700                           1.01    287.8±1.89µs        ? ?/sec    1.00    285.3±1.22µs        ? ?/sec
logical_trivial_join_high_numbered_columns            1.01    247.7±0.86µs        ? ?/sec    1.00    244.8±0.81µs        ? ?/sec
logical_trivial_join_low_numbered_columns             1.01    234.9±0.95µs        ? ?/sec    1.00    232.0±0.74µs        ? ?/sec
logical_union_4_branches                              1.01    387.1±1.53µs        ? ?/sec    1.00    382.1±0.70µs        ? ?/sec
logical_union_8_branches                              1.02    777.5±6.65µs        ? ?/sec    1.00    762.8±1.55µs        ? ?/sec
logical_wide_aggregate_100_exprs                      1.00      4.0±0.01ms        ? ?/sec    1.00      4.0±0.01ms        ? ?/sec
logical_wide_case_50_exprs                            1.01   1814.7±4.71µs        ? ?/sec    1.00   1799.1±4.13µs        ? ?/sec
logical_wide_filter_200_predicates                    1.01   1319.4±6.72µs        ? ?/sec    1.00   1308.3±9.28µs        ? ?/sec
logical_wide_filter_50_predicates                     1.02    359.5±1.53µs        ? ?/sec    1.00    352.5±2.47µs        ? ?/sec
optimizer_correlated_exists                           1.01    225.2±0.70µs        ? ?/sec    1.00    223.7±0.61µs        ? ?/sec
optimizer_join_4_with_agg_filter                      1.03    427.3±1.24µs        ? ?/sec    1.00    413.6±1.61µs        ? ?/sec
optimizer_join_chain_4                                1.00    161.1±0.31µs        ? ?/sec    1.01    162.0±0.36µs        ? ?/sec
optimizer_join_chain_8                                1.00    543.1±1.00µs        ? ?/sec    1.00    542.0±1.43µs        ? ?/sec
optimizer_select_all_from_1000                        1.00      6.7±0.01ms        ? ?/sec    1.01      6.8±0.03ms        ? ?/sec
optimizer_select_one_from_700                         1.00    232.0±0.45µs        ? ?/sec    1.01    235.4±0.49µs        ? ?/sec
optimizer_tpcds_all                                   1.01    295.6±2.50ms        ? ?/sec    1.00    292.6±0.46ms        ? ?/sec
optimizer_tpch_all                                    1.01     16.2±0.04ms        ? ?/sec    1.00     16.0±0.03ms        ? ?/sec
optimizer_wide_aggregate_100                          1.00   1761.0±5.08µs        ? ?/sec    1.00   1753.3±4.56µs        ? ?/sec
optimizer_wide_filter_200                             1.00      3.8±0.01ms        ? ?/sec    1.00      3.9±0.01ms        ? ?/sec
physical_intersection                                 1.03    563.6±1.14µs        ? ?/sec    1.00    548.6±2.35µs        ? ?/sec
physical_join_consider_sort                           1.01   1010.4±3.09µs        ? ?/sec    1.00   1001.2±4.46µs        ? ?/sec
physical_join_distinct                                1.00    226.6±0.85µs        ? ?/sec    1.00    225.5±0.71µs        ? ?/sec
physical_many_self_joins                              1.00      7.7±0.02ms        ? ?/sec    1.01      7.8±0.02ms        ? ?/sec
physical_plan_clickbench_all                          1.02    145.4±1.16ms        ? ?/sec    1.00    142.7±0.45ms        ? ?/sec
physical_plan_clickbench_q1                           1.00   1361.2±9.27µs        ? ?/sec    1.02  1390.7±10.78µs        ? ?/sec
physical_plan_clickbench_q10                          1.00      2.1±0.01ms        ? ?/sec    1.02      2.1±0.02ms        ? ?/sec
physical_plan_clickbench_q11                          1.00      2.2±0.01ms        ? ?/sec    1.02      2.3±0.02ms        ? ?/sec
physical_plan_clickbench_q12                          1.00      2.3±0.01ms        ? ?/sec    1.03      2.4±0.02ms        ? ?/sec
physical_plan_clickbench_q13                          1.00      2.1±0.01ms        ? ?/sec    1.02      2.1±0.01ms        ? ?/sec
physical_plan_clickbench_q14                          1.00      2.2±0.03ms        ? ?/sec    1.01      2.3±0.01ms        ? ?/sec
physical_plan_clickbench_q15                          1.00      2.1±0.01ms        ? ?/sec    1.02      2.2±0.01ms        ? ?/sec
physical_plan_clickbench_q16                          1.00   1804.4±9.41µs        ? ?/sec    1.01  1829.5±11.40µs        ? ?/sec
physical_plan_clickbench_q17                          1.00  1861.4±15.53µs        ? ?/sec    1.01  1883.6±12.78µs        ? ?/sec
physical_plan_clickbench_q18                          1.00   1674.5±9.99µs        ? ?/sec    1.00   1675.3±8.70µs        ? ?/sec
physical_plan_clickbench_q19                          1.01      2.1±0.03ms        ? ?/sec    1.00      2.1±0.01ms        ? ?/sec
physical_plan_clickbench_q2                           1.00  1781.0±25.17µs        ? ?/sec    1.02  1814.8±19.94µs        ? ?/sec
physical_plan_clickbench_q20                          1.00   1531.4±8.66µs        ? ?/sec    1.00   1535.7±4.71µs        ? ?/sec
physical_plan_clickbench_q21                          1.00  1768.4±10.83µs        ? ?/sec    1.00   1776.6±7.02µs        ? ?/sec
physical_plan_clickbench_q22                          1.00      2.2±0.02ms        ? ?/sec    1.00      2.2±0.01ms        ? ?/sec
physical_plan_clickbench_q23                          1.02      2.4±0.06ms        ? ?/sec    1.00      2.4±0.02ms        ? ?/sec
physical_plan_clickbench_q24                          1.00      5.8±0.05ms        ? ?/sec    1.01      5.8±0.07ms        ? ?/sec
physical_plan_clickbench_q25                          1.00   1910.2±9.39µs        ? ?/sec    1.00   1915.0±8.82µs        ? ?/sec
physical_plan_clickbench_q26                          1.00   1733.0±8.42µs        ? ?/sec    1.02  1767.1±13.25µs        ? ?/sec
physical_plan_clickbench_q27                          1.01  1956.7±15.85µs        ? ?/sec    1.00  1935.9±15.30µs        ? ?/sec
physical_plan_clickbench_q28                          1.00      2.4±0.01ms        ? ?/sec    1.02      2.4±0.08ms        ? ?/sec
physical_plan_clickbench_q29                          1.00      2.5±0.01ms        ? ?/sec    1.01      2.5±0.07ms        ? ?/sec
physical_plan_clickbench_q3                           1.00  1648.3±15.11µs        ? ?/sec    1.01   1664.5±9.27µs        ? ?/sec
physical_plan_clickbench_q30                          1.00     15.7±0.03ms        ? ?/sec    1.00     15.7±0.05ms        ? ?/sec
physical_plan_clickbench_q31                          1.02      2.5±0.01ms        ? ?/sec    1.00      2.5±0.02ms        ? ?/sec
physical_plan_clickbench_q32                          1.02      2.5±0.01ms        ? ?/sec    1.00      2.5±0.02ms        ? ?/sec
physical_plan_clickbench_q33                          1.02      2.1±0.01ms        ? ?/sec    1.00      2.0±0.01ms        ? ?/sec
physical_plan_clickbench_q34                          1.03  1847.0±17.56µs        ? ?/sec    1.00   1800.1±6.61µs        ? ?/sec
physical_plan_clickbench_q35                          1.00  1847.6±10.60µs        ? ?/sec    1.01  1873.9±16.78µs        ? ?/sec
physical_plan_clickbench_q36                          1.01      2.2±0.03ms        ? ?/sec    1.00      2.2±0.02ms        ? ?/sec
physical_plan_clickbench_q37                          1.00      2.6±0.03ms        ? ?/sec    1.01      2.6±0.03ms        ? ?/sec
physical_plan_clickbench_q38                          1.01      2.6±0.03ms        ? ?/sec    1.00      2.6±0.01ms        ? ?/sec
physical_plan_clickbench_q39                          1.00      2.6±0.02ms        ? ?/sec    1.00      2.7±0.02ms        ? ?/sec
physical_plan_clickbench_q4                           1.00   1463.3±6.43µs        ? ?/sec    1.01   1480.9±7.10µs        ? ?/sec
physical_plan_clickbench_q40                          1.00      3.4±0.02ms        ? ?/sec    1.00      3.4±0.01ms        ? ?/sec
physical_plan_clickbench_q41                          1.00      2.9±0.04ms        ? ?/sec    1.01      2.9±0.02ms        ? ?/sec
physical_plan_clickbench_q42                          1.00      3.1±0.04ms        ? ?/sec    1.00      3.1±0.03ms        ? ?/sec
physical_plan_clickbench_q43                          1.00      3.3±0.04ms        ? ?/sec    1.00      3.3±0.04ms        ? ?/sec
physical_plan_clickbench_q44                          1.01   1565.3±8.47µs        ? ?/sec    1.00  1548.6±11.33µs        ? ?/sec
physical_plan_clickbench_q45                          1.02  1588.0±10.82µs        ? ?/sec    1.00   1558.4±7.93µs        ? ?/sec
physical_plan_clickbench_q46                          1.00  1874.2±30.59µs        ? ?/sec    1.00  1882.1±12.65µs        ? ?/sec
physical_plan_clickbench_q47                          1.00      2.6±0.01ms        ? ?/sec    1.02      2.6±0.02ms        ? ?/sec
physical_plan_clickbench_q48                          1.00      2.7±0.01ms        ? ?/sec    1.04      2.8±0.06ms        ? ?/sec
physical_plan_clickbench_q49                          1.00      2.8±0.02ms        ? ?/sec    1.00      2.8±0.04ms        ? ?/sec
physical_plan_clickbench_q5                           1.00   1598.9±7.89µs        ? ?/sec    1.02   1623.1±5.54µs        ? ?/sec
physical_plan_clickbench_q50                          1.00      2.7±0.01ms        ? ?/sec    1.00      2.7±0.01ms        ? ?/sec
physical_plan_clickbench_q51                          1.00   1996.4±8.94µs        ? ?/sec    1.00   1993.9±7.45µs        ? ?/sec
physical_plan_clickbench_q52                          1.00      2.6±0.01ms        ? ?/sec    1.01      2.6±0.02ms        ? ?/sec
physical_plan_clickbench_q53                          1.00  1784.9±12.93µs        ? ?/sec    1.00   1780.9±7.49µs        ? ?/sec
physical_plan_clickbench_q54                          1.00  1789.9±12.87µs        ? ?/sec    1.00  1788.6±12.87µs        ? ?/sec
physical_plan_clickbench_q55                          1.00  1740.7±14.14µs        ? ?/sec    1.00  1740.5±18.34µs        ? ?/sec
physical_plan_clickbench_q56                          1.02   1740.5±6.61µs        ? ?/sec    1.00   1713.0±8.41µs        ? ?/sec
physical_plan_clickbench_q57                          1.02  1870.5±13.47µs        ? ?/sec    1.00   1830.9±6.80µs        ? ?/sec
physical_plan_clickbench_q58                          1.01      2.5±0.01ms        ? ?/sec    1.00      2.4±0.02ms        ? ?/sec
physical_plan_clickbench_q6                           1.00   1597.3±6.72µs        ? ?/sec    1.02   1627.9±6.17µs        ? ?/sec
physical_plan_clickbench_q7                           1.00  1431.2±13.58µs        ? ?/sec    1.00   1430.7±5.29µs        ? ?/sec
physical_plan_clickbench_q8                           1.00  1935.9±13.07µs        ? ?/sec    1.03  1991.9±17.61µs        ? ?/sec
physical_plan_clickbench_q9                           1.00  1946.7±11.34µs        ? ?/sec    1.02  1987.9±14.20µs        ? ?/sec
physical_plan_struct_join_agg_sort                    1.02   1284.7±2.97µs        ? ?/sec    1.00   1259.4±4.45µs        ? ?/sec
physical_plan_tpcds_all                               1.00    710.6±5.19ms        ? ?/sec    1.00    712.6±7.01ms        ? ?/sec
physical_plan_tpch_all                                1.00     44.0±0.08ms        ? ?/sec    1.01     44.2±0.27ms        ? ?/sec
physical_plan_tpch_q1                                 1.03   1472.8±2.23µs        ? ?/sec    1.00   1436.6±4.30µs        ? ?/sec
physical_plan_tpch_q10                                1.02      2.7±0.02ms        ? ?/sec    1.00      2.7±0.01ms        ? ?/sec
physical_plan_tpch_q11                                1.01      2.2±0.00ms        ? ?/sec    1.00      2.2±0.02ms        ? ?/sec
physical_plan_tpch_q12                                1.02   1227.7±2.31µs        ? ?/sec    1.00  1208.6±20.06µs        ? ?/sec
physical_plan_tpch_q13                                1.02   1007.3±3.20µs        ? ?/sec    1.00    991.0±7.69µs        ? ?/sec
physical_plan_tpch_q14                                1.01   1370.2±3.22µs        ? ?/sec    1.00   1351.0±8.73µs        ? ?/sec
physical_plan_tpch_q16                                1.02   1619.9±3.25µs        ? ?/sec    1.00   1586.6±2.94µs        ? ?/sec
physical_plan_tpch_q17                                1.03   1645.2±3.06µs        ? ?/sec    1.00   1597.7±4.21µs        ? ?/sec
physical_plan_tpch_q18                                1.02   1936.4±4.91µs        ? ?/sec    1.00   1890.8±3.75µs        ? ?/sec
physical_plan_tpch_q19                                1.01   1822.8±3.79µs        ? ?/sec    1.00   1801.4±3.58µs        ? ?/sec
physical_plan_tpch_q2                                 1.01      3.7±0.03ms        ? ?/sec    1.00      3.6±0.04ms        ? ?/sec
physical_plan_tpch_q20                                1.02      2.1±0.01ms        ? ?/sec    1.00      2.1±0.01ms        ? ?/sec
physical_plan_tpch_q21                                1.01      2.8±0.01ms        ? ?/sec    1.00      2.8±0.02ms        ? ?/sec
physical_plan_tpch_q22                                1.00   1469.5±3.21µs        ? ?/sec    1.01  1479.7±10.69µs        ? ?/sec
physical_plan_tpch_q3                                 1.02   1836.2±4.14µs        ? ?/sec    1.00   1800.4±6.27µs        ? ?/sec
physical_plan_tpch_q4                                 1.02   1148.3±4.02µs        ? ?/sec    1.00   1127.4±3.58µs        ? ?/sec
physical_plan_tpch_q5                                 1.01      2.7±0.01ms        ? ?/sec    1.00      2.6±0.01ms        ? ?/sec
physical_plan_tpch_q6                                 1.03    579.2±1.56µs        ? ?/sec    1.00    562.0±1.94µs        ? ?/sec
physical_plan_tpch_q7                                 1.00      2.8±0.01ms        ? ?/sec    1.00      2.8±0.02ms        ? ?/sec
physical_plan_tpch_q8                                 1.00      3.9±0.01ms        ? ?/sec    1.00      3.9±0.02ms        ? ?/sec
physical_plan_tpch_q9                                 1.02      2.7±0.01ms        ? ?/sec    1.00      2.7±0.01ms        ? ?/sec
physical_select_aggregates_from_200                   1.00     13.1±0.08ms        ? ?/sec    1.00     13.1±0.03ms        ? ?/sec
physical_select_all_from_1000                         1.03     20.9±0.08ms        ? ?/sec    1.00     20.3±0.07ms        ? ?/sec
physical_select_one_from_700                          1.00    721.4±3.38µs        ? ?/sec    1.01    728.7±3.50µs        ? ?/sec
physical_sorted_union_order_by_10_int64               1.00      4.0±0.01ms        ? ?/sec    1.01      4.1±0.04ms        ? ?/sec
physical_sorted_union_order_by_10_uint64              1.00      8.0±0.03ms        ? ?/sec    1.01      8.1±0.02ms        ? ?/sec
physical_sorted_union_order_by_50_int64               1.00     91.6±0.36ms        ? ?/sec    1.01     92.1±0.33ms        ? ?/sec
physical_sorted_union_order_by_50_uint64              1.00    322.4±1.11ms        ? ?/sec    1.00    323.8±2.57ms        ? ?/sec
physical_theta_join_consider_sort                     1.01   1038.4±3.15µs        ? ?/sec    1.00   1027.6±3.54µs        ? ?/sec
physical_unnest_to_join                               1.02    606.8±1.92µs        ? ?/sec    1.00    595.1±2.46µs        ? ?/sec
physical_window_function_partition_by_12_on_values    1.01    666.7±1.04µs        ? ?/sec    1.00    662.3±2.41µs        ? ?/sec
physical_window_function_partition_by_30_on_values    1.00   1339.4±2.59µs        ? ?/sec    1.00   1334.1±2.09µs        ? ?/sec
physical_window_function_partition_by_4_on_values     1.02    394.1±1.34µs        ? ?/sec    1.00    385.4±1.61µs        ? ?/sec
physical_window_function_partition_by_7_on_values     1.01    490.3±1.71µs        ? ?/sec    1.00    485.7±1.19µs        ? ?/sec
physical_window_function_partition_by_8_on_values     1.02    532.9±1.35µs        ? ?/sec    1.00    523.5±1.62µs        ? ?/sec
with_param_values_many_columns                        1.00    441.6±2.45µs        ? ?/sec    1.00    442.6±2.72µs        ? ?/sec

Resource Usage

sql_planner — base (merge-base)

Metric Value
Wall time 2575.6s
Peak memory 130.7 MiB
Avg memory 65.7 MiB
CPU user 1977.8s
CPU sys 1.5s
Peak spill 0 B

sql_planner — branch

Metric Value
Wall time 2570.6s
Peak memory 131.0 MiB
Avg memory 66.3 MiB
CPU user 1965.0s
CPU sys 1.4s
Peak spill 0 B

File an issue against this benchmark runner

Comment thread datafusion/sql/src/statement.rs Outdated
}
ast::MergeAction::Delete { .. } => MergeIntoAction::Delete,
ast::MergeAction::DoNothing { .. } => {
return not_impl_err!("MERGE DO NOTHING is not supported");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this err message is super confusing IMO

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the DO NOTHING clause is confusing in general -- I think this comment explains it: https://github.com/apache/datafusion/pull/25278/changes#r4021127166

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarified the comment in 7853731a33

when not matched then insert *;

statement error DataFusion error: This feature is not implemented: MERGE DO NOTHING is not supported
merge into target using source on target.id = source.id

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its useless statement, wondering why it is considering to be a valid sql

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean why is DO NOTHING part of SQL?

I think it is supported by POSTRGES, see
https://www.postgresql.org/docs/current/sql-merge.html

Which says

When DO NOTHING is specified, the source row is skipped. Since actions are evaluated in their specified order, DO NOTHING can be handy to skip non-interesting source rows before more fine-grained handling.

🤷

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh this is a real thing 🤦

@comphead comphead left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @alamb some nits, lgtm overall

@alamb
alamb enabled auto-merge September 16, 2026 18:53
@alamb

alamb commented Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

Thank you for the review @comphead -- I think I addressed all the comments. Let me know if there is something else that I missed

@alamb
alamb disabled auto-merge September 16, 2026 18:55
@alamb

alamb commented Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

run benchmark sql_planner

@alamb
alamb enabled auto-merge September 16, 2026 18:55
@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c5702887888-2395-5r5kn 6.12.94+ #1 SMP Tue Aug 4 08:44:15 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing update-sqlparser-0.63 (7853731) to 140c7c5 (merge-base) diff

Run configuration
run benchmark sql_planner

Results will be posted here when complete


File an issue against this benchmark runner

@alamb
alamb added this pull request to the merge queue Sep 16, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 16, 2026
@alamb

alamb commented Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

🤔 the sqlite etended tests failed:

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

Comparing update-sqlparser-0.63 (7853731) to 140c7c5 (merge-base) diff

Run configuration
run benchmark sql_planner
CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

group                                                 HEAD                                   update-sqlparser-0.63
-----                                                 ----                                   ---------------------
logical_aggregate_with_join                           1.02    414.1±1.27µs        ? ?/sec    1.00    405.5±1.15µs        ? ?/sec
logical_correlated_subquery_exists                    1.01    242.9±0.72µs        ? ?/sec    1.00    241.3±0.71µs        ? ?/sec
logical_correlated_subquery_in                        1.01    245.1±1.18µs        ? ?/sec    1.00    243.6±0.73µs        ? ?/sec
logical_distinct_many_columns                         1.01    329.0±1.21µs        ? ?/sec    1.00    327.2±0.93µs        ? ?/sec
logical_join_4_with_agg_and_filter                    1.07    211.6±0.55µs        ? ?/sec    1.00    196.9±0.84µs        ? ?/sec
logical_join_8_with_agg_sort_limit                    1.05    380.7±1.29µs        ? ?/sec    1.00    364.0±1.58µs        ? ?/sec
logical_join_chain_16                                 1.03    637.5±4.56µs        ? ?/sec    1.00    616.8±3.75µs        ? ?/sec
logical_join_chain_4                                  1.06     80.7±0.32µs        ? ?/sec    1.00     76.3±0.23µs        ? ?/sec
logical_join_chain_8                                  1.05    210.2±1.19µs        ? ?/sec    1.00    200.9±0.97µs        ? ?/sec
logical_multiple_subqueries                           1.01    472.3±2.02µs        ? ?/sec    1.00    468.7±1.66µs        ? ?/sec
logical_nested_cte_4_levels                           1.04    220.5±6.13µs        ? ?/sec    1.00    212.6±0.72µs        ? ?/sec
logical_plan_struct_join_agg_sort                     1.14    141.9±1.05µs        ? ?/sec    1.00    125.0±0.57µs        ? ?/sec
logical_plan_tpcds_all                                1.01     85.2±0.25ms        ? ?/sec    1.00     84.2±0.56ms        ? ?/sec
logical_plan_tpch_all                                 1.03      5.6±0.03ms        ? ?/sec    1.00      5.5±0.02ms        ? ?/sec
logical_scalar_subquery                               1.01    264.8±0.98µs        ? ?/sec    1.00    261.3±0.91µs        ? ?/sec
logical_select_all_from_1000                          1.01      9.2±0.04ms        ? ?/sec    1.00      9.1±0.02ms        ? ?/sec
logical_select_one_from_700                           1.00    283.1±1.85µs        ? ?/sec    1.01    286.6±1.26µs        ? ?/sec
logical_trivial_join_high_numbered_columns            1.01    246.2±0.80µs        ? ?/sec    1.00    244.9±0.79µs        ? ?/sec
logical_trivial_join_low_numbered_columns             1.00    233.0±0.71µs        ? ?/sec    1.00    232.6±1.44µs        ? ?/sec
logical_union_4_branches                              1.00    381.5±5.98µs        ? ?/sec    1.00    380.4±0.96µs        ? ?/sec
logical_union_8_branches                              1.00    763.6±5.77µs        ? ?/sec    1.00    761.3±1.53µs        ? ?/sec
logical_wide_aggregate_100_exprs                      1.00      4.0±0.01ms        ? ?/sec    1.00      4.0±0.01ms        ? ?/sec
logical_wide_case_50_exprs                            1.00   1800.3±5.32µs        ? ?/sec    1.00   1805.8±8.49µs        ? ?/sec
logical_wide_filter_200_predicates                    1.01   1318.0±8.17µs        ? ?/sec    1.00   1310.3±8.51µs        ? ?/sec
logical_wide_filter_50_predicates                     1.00    354.7±2.07µs        ? ?/sec    1.00    353.2±2.23µs        ? ?/sec
optimizer_correlated_exists                           1.00    222.4±0.74µs        ? ?/sec    1.01    224.8±1.11µs        ? ?/sec
optimizer_join_4_with_agg_filter                      1.03    429.7±1.44µs        ? ?/sec    1.00    417.0±1.14µs        ? ?/sec
optimizer_join_chain_4                                1.00    160.5±0.45µs        ? ?/sec    1.00    160.9±0.38µs        ? ?/sec
optimizer_join_chain_8                                1.00    548.5±1.54µs        ? ?/sec    1.00    546.7±1.74µs        ? ?/sec
optimizer_select_all_from_1000                        1.09      7.4±0.01ms        ? ?/sec    1.00      6.8±0.03ms        ? ?/sec
optimizer_select_one_from_700                         1.00    231.9±0.67µs        ? ?/sec    1.04    240.1±1.51µs        ? ?/sec
optimizer_tpcds_all                                   1.01    297.0±1.36ms        ? ?/sec    1.00    293.6±0.94ms        ? ?/sec
optimizer_tpch_all                                    1.02     16.3±0.06ms        ? ?/sec    1.00     16.0±0.04ms        ? ?/sec
optimizer_wide_aggregate_100                          1.01   1775.9±5.02µs        ? ?/sec    1.00   1753.2±2.87µs        ? ?/sec
optimizer_wide_filter_200                             1.03      4.0±0.01ms        ? ?/sec    1.00      3.9±0.02ms        ? ?/sec
physical_intersection                                 1.03    566.0±1.40µs        ? ?/sec    1.00    550.2±1.44µs        ? ?/sec
physical_join_consider_sort                           1.01   1010.8±3.25µs        ? ?/sec    1.00   1005.0±3.22µs        ? ?/sec
physical_join_distinct                                1.00    225.5±0.93µs        ? ?/sec    1.00    225.0±0.79µs        ? ?/sec
physical_many_self_joins                              1.00      7.8±0.03ms        ? ?/sec    1.00      7.8±0.03ms        ? ?/sec
physical_plan_clickbench_all                          1.03    149.8±5.12ms        ? ?/sec    1.00    145.7±2.37ms        ? ?/sec
physical_plan_clickbench_q1                           1.03  1400.8±23.48µs        ? ?/sec    1.00  1361.1±10.10µs        ? ?/sec
physical_plan_clickbench_q10                          1.04      2.3±0.07ms        ? ?/sec    1.00      2.2±0.05ms        ? ?/sec
physical_plan_clickbench_q11                          1.01      2.5±0.04ms        ? ?/sec    1.00      2.4±0.06ms        ? ?/sec
physical_plan_clickbench_q12                          1.03      2.6±0.07ms        ? ?/sec    1.00      2.5±0.05ms        ? ?/sec
physical_plan_clickbench_q13                          1.02      2.3±0.04ms        ? ?/sec    1.00      2.2±0.05ms        ? ?/sec
physical_plan_clickbench_q14                          1.03      2.5±0.06ms        ? ?/sec    1.00      2.4±0.06ms        ? ?/sec
physical_plan_clickbench_q15                          1.02      2.3±0.03ms        ? ?/sec    1.00      2.2±0.03ms        ? ?/sec
physical_plan_clickbench_q16                          1.00  1876.9±39.18µs        ? ?/sec    1.00  1868.6±25.76µs        ? ?/sec
physical_plan_clickbench_q17                          1.00  1929.4±37.51µs        ? ?/sec    1.00  1929.1±80.50µs        ? ?/sec
physical_plan_clickbench_q18                          1.00  1723.1±30.64µs        ? ?/sec    1.02  1765.6±40.61µs        ? ?/sec
physical_plan_clickbench_q19                          1.01      2.2±0.07ms        ? ?/sec    1.00      2.2±0.05ms        ? ?/sec
physical_plan_clickbench_q2                           1.04  1858.0±30.13µs        ? ?/sec    1.00  1790.2±30.70µs        ? ?/sec
physical_plan_clickbench_q20                          1.00  1558.1±26.23µs        ? ?/sec    1.00  1552.0±15.94µs        ? ?/sec
physical_plan_clickbench_q21                          1.00  1801.3±25.89µs        ? ?/sec    1.05  1891.8±37.72µs        ? ?/sec
physical_plan_clickbench_q22                          1.00      2.2±0.02ms        ? ?/sec    1.03      2.3±0.02ms        ? ?/sec
physical_plan_clickbench_q23                          1.00      2.4±0.04ms        ? ?/sec    1.13      2.7±0.09ms        ? ?/sec
physical_plan_clickbench_q24                          1.00      5.8±0.04ms        ? ?/sec    1.05      6.2±0.08ms        ? ?/sec
physical_plan_clickbench_q25                          1.00  1927.5±25.00µs        ? ?/sec    1.06      2.0±0.04ms        ? ?/sec
physical_plan_clickbench_q26                          1.00  1765.0±15.64µs        ? ?/sec    1.06  1866.8±50.00µs        ? ?/sec
physical_plan_clickbench_q27                          1.00  1962.7±23.89µs        ? ?/sec    1.09      2.1±0.06ms        ? ?/sec
physical_plan_clickbench_q28                          1.00      2.5±0.05ms        ? ?/sec    1.07      2.6±0.06ms        ? ?/sec
physical_plan_clickbench_q29                          1.00      2.5±0.02ms        ? ?/sec    1.09      2.7±0.06ms        ? ?/sec
physical_plan_clickbench_q3                           1.04  1703.0±22.76µs        ? ?/sec    1.00  1634.5±12.63µs        ? ?/sec
physical_plan_clickbench_q30                          1.00     15.7±0.04ms        ? ?/sec    1.01     15.8±0.04ms        ? ?/sec
physical_plan_clickbench_q31                          1.00      2.5±0.04ms        ? ?/sec    1.06      2.7±0.07ms        ? ?/sec
physical_plan_clickbench_q32                          1.00      2.6±0.03ms        ? ?/sec    1.12      2.9±0.07ms        ? ?/sec
physical_plan_clickbench_q33                          1.00      2.1±0.02ms        ? ?/sec    1.08      2.3±0.11ms        ? ?/sec
physical_plan_clickbench_q34                          1.00  1874.4±34.03µs        ? ?/sec    1.00  1882.4±33.94µs        ? ?/sec
physical_plan_clickbench_q35                          1.00  1927.5±55.58µs        ? ?/sec    1.06      2.0±0.05ms        ? ?/sec
physical_plan_clickbench_q36                          1.00      2.3±0.04ms        ? ?/sec    1.03      2.3±0.04ms        ? ?/sec
physical_plan_clickbench_q37                          1.00      2.6±0.03ms        ? ?/sec    1.09      2.8±0.06ms        ? ?/sec
physical_plan_clickbench_q38                          1.00      2.7±0.04ms        ? ?/sec    1.02      2.7±0.06ms        ? ?/sec
physical_plan_clickbench_q39                          1.01      2.8±0.08ms        ? ?/sec    1.00      2.7±0.05ms        ? ?/sec
physical_plan_clickbench_q4                           1.05  1541.0±34.99µs        ? ?/sec    1.00  1466.4±17.82µs        ? ?/sec
physical_plan_clickbench_q40                          1.00      3.5±0.15ms        ? ?/sec    1.05      3.6±0.07ms        ? ?/sec
physical_plan_clickbench_q41                          1.00      3.0±0.09ms        ? ?/sec    1.01      3.1±0.08ms        ? ?/sec
physical_plan_clickbench_q42                          1.02      3.3±0.07ms        ? ?/sec    1.00      3.2±0.05ms        ? ?/sec
physical_plan_clickbench_q43                          1.00      3.3±0.07ms        ? ?/sec    1.01      3.4±0.09ms        ? ?/sec
physical_plan_clickbench_q44                          1.00  1569.5±29.59µs        ? ?/sec    1.02  1599.9±22.74µs        ? ?/sec
physical_plan_clickbench_q45                          1.00  1559.2±13.44µs        ? ?/sec    1.01   1573.0±7.07µs        ? ?/sec
physical_plan_clickbench_q46                          1.00  1870.4±16.29µs        ? ?/sec    1.02  1899.9±23.17µs        ? ?/sec
physical_plan_clickbench_q47                          1.04      2.7±0.08ms        ? ?/sec    1.00      2.6±0.05ms        ? ?/sec
physical_plan_clickbench_q48                          1.00      2.9±0.04ms        ? ?/sec    1.00      2.9±0.06ms        ? ?/sec
physical_plan_clickbench_q49                          1.01      3.1±0.13ms        ? ?/sec    1.00      3.0±0.06ms        ? ?/sec
physical_plan_clickbench_q5                           1.04  1698.1±40.18µs        ? ?/sec    1.00  1634.7±24.65µs        ? ?/sec
physical_plan_clickbench_q50                          1.00      2.9±0.07ms        ? ?/sec    1.01      2.9±0.09ms        ? ?/sec
physical_plan_clickbench_q51                          1.00      2.0±0.02ms        ? ?/sec    1.02      2.0±0.02ms        ? ?/sec
physical_plan_clickbench_q52                          1.00      2.6±0.06ms        ? ?/sec    1.04      2.7±0.07ms        ? ?/sec
physical_plan_clickbench_q53                          1.00  1835.5±35.26µs        ? ?/sec    1.03  1887.9±42.67µs        ? ?/sec
physical_plan_clickbench_q54                          1.00  1826.5±37.47µs        ? ?/sec    1.00  1834.3±46.62µs        ? ?/sec
physical_plan_clickbench_q55                          1.00  1752.9±27.81µs        ? ?/sec    1.06  1861.6±104.19µs        ? ?/sec
physical_plan_clickbench_q56                          1.00  1754.7±24.21µs        ? ?/sec    1.02  1783.0±37.95µs        ? ?/sec
physical_plan_clickbench_q57                          1.00  1879.4±36.03µs        ? ?/sec    1.02  1919.4±55.13µs        ? ?/sec
physical_plan_clickbench_q58                          1.02      2.5±0.06ms        ? ?/sec    1.00      2.4±0.03ms        ? ?/sec
physical_plan_clickbench_q6                           1.05  1719.3±34.59µs        ? ?/sec    1.00  1641.0±34.37µs        ? ?/sec
physical_plan_clickbench_q7                           1.03  1479.0±12.48µs        ? ?/sec    1.00  1441.3±17.52µs        ? ?/sec
physical_plan_clickbench_q8                           1.06      2.2±0.05ms        ? ?/sec    1.00      2.0±0.04ms        ? ?/sec
physical_plan_clickbench_q9                           1.03      2.1±0.05ms        ? ?/sec    1.00      2.0±0.05ms        ? ?/sec
physical_plan_struct_join_agg_sort                    1.03   1306.6±4.10µs        ? ?/sec    1.00   1271.4±5.55µs        ? ?/sec
physical_plan_tpcds_all                               1.01    724.7±7.46ms        ? ?/sec    1.00    716.3±6.30ms        ? ?/sec
physical_plan_tpch_all                                1.04     46.1±0.50ms        ? ?/sec    1.00     44.2±0.19ms        ? ?/sec
physical_plan_tpch_q1                                 1.01  1470.5±10.66µs        ? ?/sec    1.00   1461.6±5.53µs        ? ?/sec
physical_plan_tpch_q10                                1.01      2.8±0.02ms        ? ?/sec    1.00      2.8±0.04ms        ? ?/sec
physical_plan_tpch_q11                                1.02      2.3±0.02ms        ? ?/sec    1.00      2.2±0.02ms        ? ?/sec
physical_plan_tpch_q12                                1.01  1228.0±11.88µs        ? ?/sec    1.00   1213.7±6.19µs        ? ?/sec
physical_plan_tpch_q13                                1.02   1013.3±3.43µs        ? ?/sec    1.00    993.8±3.30µs        ? ?/sec
physical_plan_tpch_q14                                1.01   1372.4±6.83µs        ? ?/sec    1.00   1358.7±8.05µs        ? ?/sec
physical_plan_tpch_q16                                1.03  1649.1±12.76µs        ? ?/sec    1.00   1596.6±3.58µs        ? ?/sec
physical_plan_tpch_q17                                1.03  1654.6±14.98µs        ? ?/sec    1.00   1607.5±9.33µs        ? ?/sec
physical_plan_tpch_q18                                1.04  1996.9±32.90µs        ? ?/sec    1.00  1927.5±16.48µs        ? ?/sec
physical_plan_tpch_q19                                1.03  1867.5±17.74µs        ? ?/sec    1.00   1808.8±7.97µs        ? ?/sec
physical_plan_tpch_q2                                 1.00      3.7±0.04ms        ? ?/sec    1.03      3.8±0.06ms        ? ?/sec
physical_plan_tpch_q20                                1.01      2.2±0.03ms        ? ?/sec    1.00      2.2±0.02ms        ? ?/sec
physical_plan_tpch_q21                                1.03      2.9±0.03ms        ? ?/sec    1.00      2.9±0.03ms        ? ?/sec
physical_plan_tpch_q22                                1.04  1523.5±13.60µs        ? ?/sec    1.00   1466.5±7.94µs        ? ?/sec
physical_plan_tpch_q3                                 1.00   1849.4±9.70µs        ? ?/sec    1.00  1854.4±30.72µs        ? ?/sec
physical_plan_tpch_q4                                 1.02   1160.1±8.57µs        ? ?/sec    1.00   1140.6±5.86µs        ? ?/sec
physical_plan_tpch_q5                                 1.01      2.8±0.02ms        ? ?/sec    1.00      2.7±0.03ms        ? ?/sec
physical_plan_tpch_q6                                 1.02    579.9±1.10µs        ? ?/sec    1.00    567.1±1.83µs        ? ?/sec
physical_plan_tpch_q7                                 1.02      2.9±0.02ms        ? ?/sec    1.00      2.9±0.05ms        ? ?/sec
physical_plan_tpch_q8                                 1.01      4.0±0.05ms        ? ?/sec    1.00      4.0±0.04ms        ? ?/sec
physical_plan_tpch_q9                                 1.03      2.8±0.02ms        ? ?/sec    1.00      2.7±0.02ms        ? ?/sec
physical_select_aggregates_from_200                   1.01     13.2±0.03ms        ? ?/sec    1.00     13.1±0.04ms        ? ?/sec
physical_select_all_from_1000                         1.03     21.0±0.08ms        ? ?/sec    1.00     20.4±0.08ms        ? ?/sec
physical_select_one_from_700                          1.00    705.2±2.05µs        ? ?/sec    1.03    727.6±2.16µs        ? ?/sec
physical_sorted_union_order_by_10_int64               1.00      4.1±0.03ms        ? ?/sec    1.01      4.1±0.03ms        ? ?/sec
physical_sorted_union_order_by_10_uint64              1.00      8.1±0.04ms        ? ?/sec    1.00      8.1±0.04ms        ? ?/sec
physical_sorted_union_order_by_50_int64               1.00     92.5±0.45ms        ? ?/sec    1.00     92.9±0.40ms        ? ?/sec
physical_sorted_union_order_by_50_uint64              1.00    323.6±2.37ms        ? ?/sec    1.01    326.1±2.75ms        ? ?/sec
physical_theta_join_consider_sort                     1.01   1039.9±5.86µs        ? ?/sec    1.00   1028.5±3.25µs        ? ?/sec
physical_unnest_to_join                               1.02    609.2±2.28µs        ? ?/sec    1.00    596.3±1.94µs        ? ?/sec
physical_window_function_partition_by_12_on_values    1.01    667.6±1.63µs        ? ?/sec    1.00    659.8±2.24µs        ? ?/sec
physical_window_function_partition_by_30_on_values    1.00   1338.4±4.46µs        ? ?/sec    1.00   1333.5±5.65µs        ? ?/sec
physical_window_function_partition_by_4_on_values     1.03    394.9±2.12µs        ? ?/sec    1.00    384.5±1.35µs        ? ?/sec
physical_window_function_partition_by_7_on_values     1.01    491.2±1.43µs        ? ?/sec    1.00    484.0±1.34µs        ? ?/sec
physical_window_function_partition_by_8_on_values     1.02    533.3±2.06µs        ? ?/sec    1.00    522.7±1.62µs        ? ?/sec
with_param_values_many_columns                        1.00    437.6±2.46µs        ? ?/sec    1.01    441.2±2.05µs        ? ?/sec

Resource Usage

sql_planner — base (merge-base)

Metric Value
Wall time 2525.6s
Peak memory 131.8 MiB
Avg memory 67.6 MiB
CPU user 1968.9s
CPU sys 1.5s
Peak spill 0 B

sql_planner — branch

Metric Value
Wall time 2525.6s
Peak memory 131.5 MiB
Avg memory 66.8 MiB
CPU user 1968.9s
CPU sys 1.5s
Peak spill 0 B

File an issue against this benchmark runner

@alamb

alamb commented Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

Benchmarks seem to show no obvious differences in my anaylsis

@github-actions github-actions Bot added documentation Improvements or additions to documentation common Related to common crate labels Sep 17, 2026
@alamb

alamb commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

To merge this PR I need to update the contents of datafusion-testing to update expected errors:

alamb added a commit to apache/datafusion-testing that referenced this pull request Sep 17, 2026
DataFusion is upgrading to sqlparser 0.63.0, which adds recursion guards to
more parse functions so every expression consumes one more level of the
parser recursion budget. To keep previously-parseable queries working,
DataFusion is raising the default `datafusion.sql_parser.recursion_limit`
from 50 to 51 (apache/datafusion#25278).

Update the 275 `RecursionLimitExceeded` expectations across 15 sqlite test
files to expect `(current limit: 51)`. The queries still fail with the new
limit, only the limit reported in the error message changes.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
@alamb

alamb commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

To merge this PR I need to update the contents of datafusion-testing to update expected errors:

Thanks to @viirya I merged the test updates and will try to merge this one agian

@alamb
alamb enabled auto-merge September 17, 2026 16:16
@alamb
alamb added this pull request to the merge queue Sep 17, 2026
Merged via the queue into apache:main with commit 1dea714 Sep 17, 2026
43 checks passed
@alamb
alamb deleted the update-sqlparser-0.63 branch September 17, 2026 16:50
@alamb

alamb commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

WoohoO!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

common Related to common crate dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation sql SQL Planner sqllogictest SQL Logic Tests (.slt)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants